package com.htgd.gardenexpo.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.htgd.gardenexpo.entity.CommonResult;
import com.htgd.gardenexpo.entity.WxUser;
import com.htgd.gardenexpo.page.WxUserQuery;
import com.htgd.gardenexpo.vo.UserNumVO;
import com.htgd.gardenexpo.vo.WxUserVO;

import javax.servlet.http.HttpServletRequest;
import java.util.Map;

public interface WxUserService extends IService<WxUser> {
    Object getPhoneNumber(Map<String, Object> data);

    String getOpenId(String code);

    String getSessionKey(String code);

    WxUser login(String openId);

    CommonResult bindPhone(JSONObject jsonObject);

    void updateToken(String token, WxUser wxUser);

    String getPhoneByOpenId(String openId);

    String getNameByOpenId(String openId);

    PageInfo<WxUserVO> querylist(WxUserQuery wxUserQuery);

    boolean judgePhoneIsNullByOpenId(String openId);

    UserNumVO getNum(String openId);

    void updateCarbonNumAdd(Integer num,String openId);

    void updateIntegralNumAdd(Integer num, String openId);

    WxUser getInfo(HttpServletRequest request);

    CommonResult getRegisterNums(String date);

    CommonResult getPhoneCityNums();

    CommonResult bindFace(JSONObject body);

    void updateDeckId(String openId, String userId);

    CommonResult<JSONObject> edit(WxUser wxUser);

    CommonResult getDailyActivityCount(String beginDate, String endDate);

    CommonResult unbindFace(String openId);
}
